package fr.afcepf.atod21.data.entities;

import java.io.Serializable;
import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;


/**
 * The persistent class for the commande_fournisseur database table.
 * 
 */
@Entity
@Table(name="commande_fournisseur")
@NamedQuery(name="CommandeFournisseur.findAll", query="SELECT c FROM CommandeFournisseur c")
public class CommandeFournisseur implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	private int idcommande;

	@Temporal(TemporalType.TIMESTAMP)
	private Date datecommande;

	@Temporal(TemporalType.TIMESTAMP)
	private Date datelivraison;

	private BigDecimal montantcommande;

	//bi-directional many-to-one association to LignedecommandeFournisseur
	@OneToMany(mappedBy="commandeFournisseur")
	private List<LignedecommandeFournisseur> lignedecommandeFournisseurs;

	public CommandeFournisseur() {
	}

	public int getIdcommande() {
		return this.idcommande;
	}

	public void setIdcommande(int idcommande) {
		this.idcommande = idcommande;
	}

	public Date getDatecommande() {
		return this.datecommande;
	}

	public void setDatecommande(Date datecommande) {
		this.datecommande = datecommande;
	}

	public Date getDatelivraison() {
		return this.datelivraison;
	}

	public void setDatelivraison(Date datelivraison) {
		this.datelivraison = datelivraison;
	}

	public BigDecimal getMontantcommande() {
		return this.montantcommande;
	}

	public void setMontantcommande(BigDecimal montantcommande) {
		this.montantcommande = montantcommande;
	}

	public List<LignedecommandeFournisseur> getLignedecommandeFournisseurs() {
		return this.lignedecommandeFournisseurs;
	}

	public void setLignedecommandeFournisseurs(List<LignedecommandeFournisseur> lignedecommandeFournisseurs) {
		this.lignedecommandeFournisseurs = lignedecommandeFournisseurs;
	}

	public LignedecommandeFournisseur addLignedecommandeFournisseur(LignedecommandeFournisseur lignedecommandeFournisseur) {
		getLignedecommandeFournisseurs().add(lignedecommandeFournisseur);
		lignedecommandeFournisseur.setCommandeFournisseur(this);

		return lignedecommandeFournisseur;
	}

	public LignedecommandeFournisseur removeLignedecommandeFournisseur(LignedecommandeFournisseur lignedecommandeFournisseur) {
		getLignedecommandeFournisseurs().remove(lignedecommandeFournisseur);
		lignedecommandeFournisseur.setCommandeFournisseur(null);

		return lignedecommandeFournisseur;
	}

}